﻿layui.use('layer', function () {
    var $ = layui.jquery, layer = layui.layer;
    var hasAccount = false;
    var hasPassword = false;
    var hasSamePassword = false;
    var hasEMail = false;
    var hasRead = false;
    
    $(document).ready(function () {
        if (!$("input[type = 'checkbox']").is(":checked")) {
            $(".register-bt").addClass("enabled");
        }
    })

    $("#account").focus(function () {
        $("#account").removeClass("errorRed");
    });
    
    $("#password").focus(function () {
        $("#password").removeClass("errorRed");
    });
    $("#same-password").focus(function () {
        $("#same-password").removeClass("errorRed");
    });
    $("#e_mail").focus(function () {
        $("#e_mail").removeClass("errorRed");
    });

    $("#account").blur(function () {
        var text = $("#account").val();
        if (text == "") {
            $("#account").addClass("errorRed");
            layer.tips('请输入用户账号', '#account', {
                time: 3000,
                tipsMore: true
            });
        } else {
            hasAccount = true;
        }
    });

    $("#password").focus(function () {
        $("#password").removeClass("errorRed");
    });

    $("#password").blur(function () {       
        var text = $("#password").val();

        if (password == "") {
            layer.tips('密码不能为空', '#password', {
                tipsMore: true,
            })
            return false;
        }

        if (text.length < 6 || text.length > 18) {
            $("#password").addClass("errorRed");
            layer.tips('请输入正确格式的密码', '#password', {
                time: 3000,
                tipsMore: true
            });
            return false;
        }
        if (!isPassword(text)) {
            layer.tips('密码请同时含有字母和数字', '#password', {
                tipsMore:true,
            })
            return false;
        }

        hasPassword = true;
        
    });

    $('#same-password').blur(function () {
        var password = $("#password").val();
        var same_password = $("#same-password").val();
        if (!isPassword(same_password)) {
            layer.tips('密码请同时含有字母和数字', '#same-password');

            $('#same-password').addClass("errorRed");
            return false;
        }

        if (same_password == "") {
            layer.tips('密码不能为空', '#same-password', {
                tipsMore: true,
            });

            $('#same-password').addClass("errorRed");
            return false;
        }

        if (password != same_password || password == "") {
            layer.tips('两次密码不一致，请重新输入', '#password', {
                tipsMore: true
            });
            layer.tips('两次密码不一致，请重新输入', '#same-password', {
                tipsMore: true
            })
            $('#password').addClass("errorRed");
            $('#same-password').addClass("errorRed");
            return false;
        }

        hasSamePassword = true;
        
    });

    $("#e_mail").blur(function () {
        var text = $("#e_mail").val();
        if (!isEmail(text)) {
            layer.tips('邮箱格式不正确,请重新输入', '#e_mail', {
                tipsMore: true
            })
            $('#e_mail').addClass("errorRed");
        } else {
            hasEMail = true;
            $('.email-bt').removeClass("enabled");
        }
    });

    $('.email-bt').click(function () {
        if (hasEMail == true) {
            $.ajax({
                url: '/Account/GetVerificationCode',
                type: 'POST',
                data: {
                    sender: $('#e_mail').val(),
                },
                success: function (data) {
                    if (data.success != "") {
                        layer.msg(data.success);
                    }
                    else if (data.error != ""){
                        layer.msg(data.error);
                    }
                }
            })
        }
    })

    $("#checkbox").click(function(){
        if (!$("input[type='checkbox']").is(':checked')) {
            $(".register-bt").addClass("enabled");
        } else {
            $(".register-bt").removeClass("enabled");
            hasRead = true;
        }
    });

    function isEmail(str){
        var regex = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
        return regex.test(str);
    }

    function isPassword(str) {
        var regex = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/;
        return regex.test(str);
    }

    $(".register-bt").click(function () {
        if (hasAccount && hasPassword && hasSamePassword && hasEMail && hasRead) {
            $("#register_form").submit();
        }
    })
})